/*
 * IEvent.h
 *
 * Base class for all events that occur within
 * the state machine.
 *
 * Author: Zachary Masiello
 * Author: Peter-John Rowe
 */

#ifndef IEVENT_H_
#define IEVENT_H_

#include <string.h>

// State IDS
#define INITIAL_ID 0
#define MODE_BUTTON_ID 1
#define ALL_BUTTON_ID 2
#define SET_BUTTON_ID 3
#define SSMODE_BUTTON_ID 4
#define SS_BUTTON_ID 5
#define UNIT_SET_ID 6
#define INITIAL_SPEEDMODE_ID 7

class IEvent {
protected:
	/**
	 * ID of the event
	 */
	int eventID;

public:
	/**
	 * Constructor
	 */
	IEvent();

	/**
	 * Destructor
	 */
	virtual ~IEvent();

	/**
	 * Returns the event's id
	 */
	int getEventID();
};

#endif /* IEVENT_H_ */
